package com.hsnn.medstgmini.pro.project.service.impl;

import java.util.List;

import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hsnn.medstgmini.base.std.dao.StdProdDrugInfoDao;
import com.hsnn.medstgmini.base.std.model.form.StdProdDrugInfoForm;
import com.hsnn.medstgmini.pro.project.dao.ProdDrugDao;
import com.hsnn.medstgmini.pro.project.service.ProdDrugManager;
import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 生产企业药品申报管理
 * @author 蔡春龙
 * @date 2015年8月28日
 */
@Service
public class ProdDrugManagerImpl implements ProdDrugManager {

	@Autowired
	private ProdDrugDao prodDrugDao;

	@Autowired
	private StdProdDrugInfoDao stdProdDrugInfoDao;

	/**
	 * @category 分页查询某企业可申报的药品
	 * @date 2015年8月30日
	 * @param page
	 * @return
	 */
	public Pagination getProdDrugList(Pagination page) {
		return prodDrugDao.getProdDrugList(page);
	}

	/**
	 * @category 提交申报药品
	 * @date 2015年8月30日
	 * @param list
	 * @param user
	 */
	@Transactional
	public void submitProdDrugList(List<StdProdDrugInfoForm> list, SysUser user) {
		prodDrugDao.submitProdDrugList(list, user);
	}

	/**
	 * @category 查询企业申报药品审核结果列表
	 * @date 2015年8月30日
	 * @param page
	 * @return
	 */
	public Pagination getDrugAuditResultList(Pagination page) {
		return prodDrugDao.getDrugAuditResultList(page);
	}

	/**
	 * @category 企业产品澄清
	 * @date 2015年9月1日
	 * @param form
	 * @param user
	 */
	@Transactional
	public void complainProdDrug(StdProdDrugInfoForm form, SysUser user) {
		stdProdDrugInfoDao.saveProdDrugInfo(form, user);
		prodDrugDao.complainProdDrug(form, user);
	}

	/**
	 * @category 查询企业产品澄清列表
	 * @date 2015年9月2日
	 * @param page
	 * @return
	 */
	public Pagination getDrugComplainList(Pagination page) {
		return prodDrugDao.getDrugComplainList(page);
	}

	/**
	 * @category 企业产品澄清结果列表查询
	 * @date 2015年9月2日
	 * @param page
	 * @return
	 */
	public Pagination getDrugComplainResultList(Pagination page) {
		return prodDrugDao.getDrugComplainResultList(page);
	}

	/**
	 * @category 查询项目列表
	 * @date 2015年9月7日
	 * @param page
	 * @param user
	 * @return
	 */
	public Pagination getDrugProjectListDeclare(Pagination page, SysUser user) {
		return prodDrugDao.getDrugProjectListDeclare(page, user);
	}
	
	/**
	 * @category 查询项目列表
	 * @date 2015年9月7日
	 * @param page
	 * @param user
	 * @return
	 */
	public Pagination getDrugProjectListDeclareSee(Pagination page, SysUser user) {
		return prodDrugDao.getDrugProjectListDeclareSee(page, user);
	}
	
	/**
	 * @category 查询项目列表
	 * @date 2015年9月7日
	 * @param page
	 * @param user
	 * @return
	 */
	public Pagination getDrugProjectListClarify(Pagination page, SysUser user) {
		return prodDrugDao.getDrugProjectListClarify(page, user);
	}
	
	/**
	 * @category 查询项目列表
	 * @date 2015年9月7日
	 * @param page
	 * @param user
	 * @return
	 */
	public Pagination getDrugProjectListClarifySee(Pagination page, SysUser user) {
		return prodDrugDao.getDrugProjectListClarifySee(page, user);
	}

	/**
	 * 
	 * @category 分页查询品规列表，用于新增通用名、通用名英文、剂型、规格
	 * @author 言科
	 * @date 2015年8月19日 Pagination
	 */
	public Pagination getDrugSelectQualityspec(Pagination page) {
		return prodDrugDao.getDrugSelectQualityspec(page);
	}

}
